package com.itany.shop.util;

import com.itany.shop.exception.MD5ErrorException;
import sun.misc.BASE64Encoder;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * @author Miss Chen
 * @version 1.0
 * @date 2024年08月14日10:11
 */
public class MD5Util {
    public static void main(String[] args) {
        System.out.println(md5("1aaa"));
    }
    public static String md5(String password){
        try {

            //加密后的数据通常是二进制数据，如果直接将这些数据在网络中进行传输，那么如果需要进行调试或者查看，二进制数据对于我们是不可读的
            // 可以使用Base64编码可以将二进制数据转换为可读的字符集
            MessageDigest md=MessageDigest.getInstance("MD5");
            byte[] b=md.digest(password.getBytes());
            BASE64Encoder encoder=new BASE64Encoder();
           return encoder.encode(b);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            throw new MD5ErrorException("MD5加密出错");
        }

    }
}
